package com.paw.ruoyi.admin.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

/**
 * 读取代码生成相关配置
 *
 * @author ruoyi
 */
@Component
@ConfigurationProperties(prefix = "gen")
public class GenConfig {

  /**
   * 作者
   */
  public static String author;

  /**
   * 生成包路径
   */
  public static String packageName;

  /**
   * 自动去除表前缀，默认是false
   */
  public static boolean autoRemovePre;

  /**
   * 表前缀(类名不会包含表前缀)
   */
  public static String tablePrefix;

  /**
   * 列前缀(类名不会包含表前缀)
   */
  public static String columnPrefix;

  public static String getAuthor () {
    return author;
  }

  @Value("${author:admin}")
  public void setAuthor (String author) {
    GenConfig.author = author;
  }

  public static String getPackageName () {
    return packageName;
  }

  @Value("${packageName:com.company.group}")
  public void setPackageName (String packageName) {
    GenConfig.packageName = packageName;
  }

  public static boolean getAutoRemovePre () {
    return autoRemovePre;
  }

  @Value("${autoRemovePre:true}")
  public void setAutoRemovePre (boolean autoRemovePre) {
    GenConfig.autoRemovePre = autoRemovePre;
  }

  public static String getTablePrefix () {
    return tablePrefix;
  }

  @Value("${tablePrefix:t_}")
  public void setTablePrefix (String tablePrefix) {
    GenConfig.tablePrefix = tablePrefix;
  }

  @Value("${columnPrefix:f_}")
  public void setColumnPrefix (String columnPrefix) {
    GenConfig.columnPrefix = columnPrefix;
  }

  public static String getColumnPrefix () {
    return columnPrefix;
  }
}
